

#ifndef _LOGMT_H__
#define _LOGMT_H__
#pragma once


#ifdef _WIN32
#   ifdef LOGMT_EXPORT
#       define LOGMT_API __declspec(dllexport)
#   else
#       define LOGMT_API __declspec(dllimport)
#   endif
#endif

#define LOGMT_LEVEL_TRACE    0//All Trace Debug Info Warn Error Critical
#define LOGMT_LEVEL_DEBUG    1//Inc Debug Info Warn Error Critical
#define LOGMT_LEVEL_INFO     2//Inc Info Warn Error Critical
#define LOGMT_LEVEL_WARN     3//Inc Warn Error Critical
#define LOGMT_LEVEL_ERROR    4//Inc Error Critical
#define LOGMT_LEVEL_CRITICAL 5//Inc Critical
#define LOGMT_LEVEL_OFF      6//All Not OutPut

extern "C" LOGMT_API void __stdcall LogmtSetPathA(const char* pszTxt);
extern "C" LOGMT_API void __stdcall LogmtSetPathW(const wchar_t* pszTxt);
extern "C" LOGMT_API void __stdcall LogmtInit();
extern "C" LOGMT_API void __stdcall LogmtInitCfg(const char* pszCfg);

extern "C" LOGMT_API void __stdcall LogmtSetLevel(int nLevel);
extern "C" LOGMT_API int __stdcall LogmtGetLevel();
extern "C" LOGMT_API void __stdcall LogmtFlushImd(bool bFlush);
extern "C" LOGMT_API bool __stdcall LogmtIsLevelOn(int nLevel);

extern "C" LOGMT_API void __stdcall LogmtStackTrace();

extern "C" LOGMT_API void __stdcall LogmtMsgA(int nLevel,const char* pszTxt);
extern "C" LOGMT_API void __stdcall LogmtMsgW(int nLevel, const wchar_t* pszTxt);

extern "C" LOGMT_API void __stdcall LogmtFlush();

extern "C" LOGMT_API void __stdcall LogmtGUI(bool bOn);
extern "C" LOGMT_API bool __stdcall LogmtIsEnableGUI();

extern "C" LOGMT_API void __stdcall LogmtShowGUI(bool bShow);
extern "C" LOGMT_API bool __stdcall LogmtIsShowGUI();

extern "C" LOGMT_API void __stdcall LogmtGUIPop();

#include "logmtf.h"

#endif //_LOGMT_H__

